﻿using System;
using System.Linq;
using System.Collections.Generic;

namespace HashFoo.Core
{
    /// <summary>
    /// Generic progress event arguments.  Includes progress, total, and current (unitless).
    /// </summary>
    public class ProgressEventArgs
    {
        /// <summary>
        /// The current percent of the progress.
        /// </summary>
        public int Percent { get; set; }

        /// <summary>
        /// The total (unitless) amount of the operation.
        /// </summary>
        public long Total { get; set; }

        /// <summary>
        /// True if the <see cref="Total"/> is known, else false.
        /// </summary>
        public bool TotalIsKnown { get; set; }

        /// <summary>
        /// The current progress (of the <see cref="Total"/>) of the operation.
        /// </summary>
        public long Current { get; set; }
    }
}